\hypertarget{classduye_1_1_xml_node}{\section{duye\-:\-:Xml\-Node Class Reference}
\label{classduye_1_1_xml_node}\index{duye\-::\-Xml\-Node@{duye\-::\-Xml\-Node}}
}


The parent class for everything in the Document Object Model. (Except for attributes). Nodes have siblings, a parent, and children. A node can be in a document, or stand on its own. The type of a \hyperlink{classduye_1_1_xml_node}{Xml\-Node} can be queried, and it can be cast to its more defined type.  




{\ttfamily \#include $<$duye\-\_\-xml.\-h$>$}

Inheritance diagram for duye\-:\-:Xml\-Node\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classduye_1_1_xml_node}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{classduye_1_1_xml_node_ae4027c9a45dd41b1672ce04e9b141947}{Node\-Type} \{ \\*
{\bfseries N\-Y\-X\-M\-L\-\_\-\-D\-O\-C\-U\-M\-E\-N\-T}, 
{\bfseries N\-Y\-X\-M\-L\-\_\-\-E\-L\-E\-M\-E\-N\-T}, 
{\bfseries N\-Y\-X\-M\-L\-\_\-\-C\-O\-M\-M\-E\-N\-T}, 
{\bfseries N\-Y\-X\-M\-L\-\_\-\-U\-N\-K\-N\-O\-W\-N}, 
\\*
{\bfseries N\-Y\-X\-M\-L\-\_\-\-T\-E\-X\-T}, 
{\bfseries N\-Y\-X\-M\-L\-\_\-\-D\-E\-C\-L\-A\-R\-A\-G\-O\-N}, 
{\bfseries N\-Y\-X\-M\-L\-\_\-\-T\-Y\-P\-E\-C\-O\-U\-N\-T}
 \}
\begin{DoxyCompactList}\small\item\em The types of X\-M\-L nodes supported by Gny\-Xml. (All the unsupported types are picked up by U\-N\-K\-N\-O\-W\-N.) \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
const char $\ast$ \hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value} () const 
\begin{DoxyCompactList}\small\item\em The meaning of 'value' changes for the specific type of \hyperlink{classduye_1_1_xml_node}{Xml\-Node}. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_ab45adf561c30ab37fd931a1168f5d078}{const std\-::string \& \hyperlink{classduye_1_1_xml_node_ab45adf561c30ab37fd931a1168f5d078}{value\-Str} () const }\label{classduye_1_1_xml_node_ab45adf561c30ab37fd931a1168f5d078}

\begin{DoxyCompactList}\small\item\em Return Value() as a std\-::string. If you only use S\-T\-L, this is more efficient than calling Value(). Only available in S\-T\-L mode. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a5efbd4b38da945f9e3ab0b9a755d6a97}{const std\-::string \& {\bfseries value\-T\-Str} () const }\label{classduye_1_1_xml_node_a5efbd4b38da945f9e3ab0b9a755d6a97}

\item 
void \hyperlink{classduye_1_1_xml_node_a0bb13ec0183c9e10df92e0cd66d3a4db}{set\-Value} (const char $\ast$\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value})
\begin{DoxyCompactList}\small\item\em Changes the value of the node. Defined as\-: \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_aae6d568639c89144f39d316c6cbc430e}{void \hyperlink{classduye_1_1_xml_node_aae6d568639c89144f39d316c6cbc430e}{set\-Value} (const std\-::string \&\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value})}\label{classduye_1_1_xml_node_aae6d568639c89144f39d316c6cbc430e}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a82cb9c5e8aa182d74f89a93d2aa7fc1e}{void \hyperlink{classduye_1_1_xml_node_a82cb9c5e8aa182d74f89a93d2aa7fc1e}{clear} ()}\label{classduye_1_1_xml_node_a82cb9c5e8aa182d74f89a93d2aa7fc1e}

\begin{DoxyCompactList}\small\item\em Delete all the children of this node. Does not affect 'this'. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_ae28c258f708b9c92cb0ae17eaa3d272f}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_ae28c258f708b9c92cb0ae17eaa3d272f}{parent} ()}\label{classduye_1_1_xml_node_ae28c258f708b9c92cb0ae17eaa3d272f}

\begin{DoxyCompactList}\small\item\em One step up the D\-O\-M. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a3ce45f614042bab30fbf0e049da2e219}{const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ {\bfseries parent} () const }\label{classduye_1_1_xml_node_a3ce45f614042bab30fbf0e049da2e219}

\item 
\hypertarget{classduye_1_1_xml_node_a7ba1392b6399679fafd66f75c02a4493}{const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a7ba1392b6399679fafd66f75c02a4493}{first\-Child} () const }\label{classduye_1_1_xml_node_a7ba1392b6399679fafd66f75c02a4493}

\begin{DoxyCompactList}\small\item\em The first child of this node. Will be null if there are no children. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a2dc859c5eb9a2eb89d46804c39967cfe}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ {\bfseries first\-Child} ()}\label{classduye_1_1_xml_node_a2dc859c5eb9a2eb89d46804c39967cfe}

\item 
const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_adce4411879a479aec3b0479d7c46edac}{first\-Child} (const char $\ast$\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value}) const 
\item 
\hypertarget{classduye_1_1_xml_node_a7ff2059038179113178c533aa8f91502}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a7ff2059038179113178c533aa8f91502}{first\-Child} (const char $\ast$\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value})}\label{classduye_1_1_xml_node_a7ff2059038179113178c533aa8f91502}

\begin{DoxyCompactList}\small\item\em The first child of this node with the matching 'value'. Will be null if none found. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a147db03132d623b611aea24629ad9821}{const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ {\bfseries last\-Child} () const }\label{classduye_1_1_xml_node_a147db03132d623b611aea24629ad9821}

\item 
\hypertarget{classduye_1_1_xml_node_a4a3640ab750e961f0db14b7d21f45b1c}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a4a3640ab750e961f0db14b7d21f45b1c}{last\-Child} ()}\label{classduye_1_1_xml_node_a4a3640ab750e961f0db14b7d21f45b1c}

\begin{DoxyCompactList}\small\item\em The last child of this node. Will be null if there are no children. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a222b09b2ad9aaf266dca58474665568d}{const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ {\bfseries last\-Child} (const char $\ast$\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value}) const }\label{classduye_1_1_xml_node_a222b09b2ad9aaf266dca58474665568d}

\item 
\hypertarget{classduye_1_1_xml_node_a4f4989c879e6ec91d62db55e05a2b2b5}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a4f4989c879e6ec91d62db55e05a2b2b5}{last\-Child} (const char $\ast$\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value})}\label{classduye_1_1_xml_node_a4f4989c879e6ec91d62db55e05a2b2b5}

\begin{DoxyCompactList}\small\item\em The last child of this node matching 'value'. Will be null if there are no children. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a5ce00939080c451b714b0fcc340ca08c}{const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a5ce00939080c451b714b0fcc340ca08c}{first\-Child} (const std\-::string \&\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value}) const }\label{classduye_1_1_xml_node_a5ce00939080c451b714b0fcc340ca08c}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a643876d58c6802c83d497490d5336c4c}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a643876d58c6802c83d497490d5336c4c}{first\-Child} (const std\-::string \&\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value})}\label{classduye_1_1_xml_node_a643876d58c6802c83d497490d5336c4c}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_aec689d59e23a15f5477f0339a2f4c4fc}{const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_aec689d59e23a15f5477f0339a2f4c4fc}{last\-Child} (const std\-::string \&\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value}) const }\label{classduye_1_1_xml_node_aec689d59e23a15f5477f0339a2f4c4fc}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_ae2c9e2f7cf7fbd1f24e2e19db65bb262}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_ae2c9e2f7cf7fbd1f24e2e19db65bb262}{last\-Child} (const std\-::string \&\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value})}\label{classduye_1_1_xml_node_ae2c9e2f7cf7fbd1f24e2e19db65bb262}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a9210bb8d53337ae049942007860d07d3}{iterate\-Children} (const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$previous) const 
\begin{DoxyCompactList}\small\item\em An alternate way to walk the children of a node. One way to iterate over nodes is\-: \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a223a9571ec306bcb4c0142eefc611d32}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ {\bfseries iterate\-Children} (const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$previous)}\label{classduye_1_1_xml_node_a223a9571ec306bcb4c0142eefc611d32}

\item 
\hypertarget{classduye_1_1_xml_node_ad609b67638dc1078b0f638af1913c698}{const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_ad609b67638dc1078b0f638af1913c698}{iterate\-Children} (const char $\ast$\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value}, const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$previous) const }\label{classduye_1_1_xml_node_ad609b67638dc1078b0f638af1913c698}

\begin{DoxyCompactList}\small\item\em This flavor of Iterate\-Children searches for children with a particular 'value'. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a86588fb49d8cc387f7397581a1ac4eff}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ {\bfseries iterate\-Children} (const char $\ast$\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value}, const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$previous)}\label{classduye_1_1_xml_node_a86588fb49d8cc387f7397581a1ac4eff}

\item 
\hypertarget{classduye_1_1_xml_node_a4d2e2d6639987fdbb7c8f0f90e7857e9}{const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a4d2e2d6639987fdbb7c8f0f90e7857e9}{iterate\-Children} (const std\-::string \&\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value}, const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$previous) const }\label{classduye_1_1_xml_node_a4d2e2d6639987fdbb7c8f0f90e7857e9}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a1e71e1b4bd65fc58568bd5cf29b64aad}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a1e71e1b4bd65fc58568bd5cf29b64aad}{iterate\-Children} (const std\-::string \&\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value}, const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$previous)}\label{classduye_1_1_xml_node_a1e71e1b4bd65fc58568bd5cf29b64aad}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a6f8d2fe467e221f1c8426890200864fe}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a6f8d2fe467e221f1c8426890200864fe}{insert\-End\-Child} (const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} \&add\-This)}\label{classduye_1_1_xml_node_a6f8d2fe467e221f1c8426890200864fe}

\begin{DoxyCompactList}\small\item\em Add a new node related to this. Adds a child past the Last\-Child. Returns a pointer to the new object or N\-U\-L\-L if an error occured. \end{DoxyCompactList}\item 
\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a8e29358127db6027288425730b195543}{link\-End\-Child} (\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$add\-This)
\begin{DoxyCompactList}\small\item\em Add a new node related to this. Adds a child past the Last\-Child. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a86d4f238a5880bbc9ae7ffd4b1189725}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a86d4f238a5880bbc9ae7ffd4b1189725}{insert\-Before\-Child} (\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$before\-This, const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} \&add\-This)}\label{classduye_1_1_xml_node_a86d4f238a5880bbc9ae7ffd4b1189725}

\begin{DoxyCompactList}\small\item\em Add a new node related to this. Adds a child before the specified child. Returns a pointer to the new object or N\-U\-L\-L if an error occured. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a0fcf0c1bfe061bf20b934e1c9ca58d79}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a0fcf0c1bfe061bf20b934e1c9ca58d79}{insert\-After\-Child} (\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$after\-This, const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} \&add\-This)}\label{classduye_1_1_xml_node_a0fcf0c1bfe061bf20b934e1c9ca58d79}

\begin{DoxyCompactList}\small\item\em Add a new node related to this. Adds a child after the specified child. Returns a pointer to the new object or N\-U\-L\-L if an error occured. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_aec17d06c0a0c5f3bcc9a7ab73336c096}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_aec17d06c0a0c5f3bcc9a7ab73336c096}{replace\-Child} (\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$replace\-This, const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} \&with\-This)}\label{classduye_1_1_xml_node_aec17d06c0a0c5f3bcc9a7ab73336c096}

\begin{DoxyCompactList}\small\item\em Replace a child of this node. Returns a pointer to the new object or N\-U\-L\-L if an error occured. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_aa5a8b29f29166cf2e5af9607a6edf61b}{bool \hyperlink{classduye_1_1_xml_node_aa5a8b29f29166cf2e5af9607a6edf61b}{remove\-Child} (\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$remove\-This)}\label{classduye_1_1_xml_node_aa5a8b29f29166cf2e5af9607a6edf61b}

\begin{DoxyCompactList}\small\item\em Delete a child of this node. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a6d51386d02aa54cb86388c75a37c6b0f}{const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a6d51386d02aa54cb86388c75a37c6b0f}{previous\-Sibling} () const }\label{classduye_1_1_xml_node_a6d51386d02aa54cb86388c75a37c6b0f}

\begin{DoxyCompactList}\small\item\em Navigate to a sibling node. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a96edd088d578bfc411da367749cdb69f}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ {\bfseries previous\-Sibling} ()}\label{classduye_1_1_xml_node_a96edd088d578bfc411da367749cdb69f}

\item 
\hypertarget{classduye_1_1_xml_node_a818e0ee1620dda6253976de607271a56}{const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a818e0ee1620dda6253976de607271a56}{previous\-Sibling} (const char $\ast$prev) const }\label{classduye_1_1_xml_node_a818e0ee1620dda6253976de607271a56}

\begin{DoxyCompactList}\small\item\em Navigate to a sibling node. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a24f0ecf4b13ce803fdb3f4d9c43a2f32}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ {\bfseries previous\-Sibling} (const char $\ast$prev)}\label{classduye_1_1_xml_node_a24f0ecf4b13ce803fdb3f4d9c43a2f32}

\item 
\hypertarget{classduye_1_1_xml_node_a5baad7fb5771beddee5b70024d537c59}{const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a5baad7fb5771beddee5b70024d537c59}{previous\-Sibling} (const std\-::string \&\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value}) const }\label{classduye_1_1_xml_node_a5baad7fb5771beddee5b70024d537c59}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a4c72238269e3938cf34243ad9764cbce}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a4c72238269e3938cf34243ad9764cbce}{previous\-Sibling} (const std\-::string \&\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value})}\label{classduye_1_1_xml_node_a4c72238269e3938cf34243ad9764cbce}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_ae00a4a92a552e08b02f274aacd3b111a}{const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_ae00a4a92a552e08b02f274aacd3b111a}{next\-Sibling} (const std\-::string \&\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value}) const }\label{classduye_1_1_xml_node_ae00a4a92a552e08b02f274aacd3b111a}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a60608664d29f20d5505d842b757827f5}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a60608664d29f20d5505d842b757827f5}{next\-Sibling} (const std\-::string \&\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value})}\label{classduye_1_1_xml_node_a60608664d29f20d5505d842b757827f5}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a038a8c4e4b966341f74df457c73c35fb}{const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a038a8c4e4b966341f74df457c73c35fb}{next\-Sibling} () const }\label{classduye_1_1_xml_node_a038a8c4e4b966341f74df457c73c35fb}

\begin{DoxyCompactList}\small\item\em Navigate to a sibling node. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_ac6a6233078538808982ad230c98e8c3d}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ {\bfseries next\-Sibling} ()}\label{classduye_1_1_xml_node_ac6a6233078538808982ad230c98e8c3d}

\item 
\hypertarget{classduye_1_1_xml_node_a40b338baea5e18861d09316223802fc4}{const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a40b338baea5e18861d09316223802fc4}{next\-Sibling} (const char $\ast$next) const }\label{classduye_1_1_xml_node_a40b338baea5e18861d09316223802fc4}

\begin{DoxyCompactList}\small\item\em Navigate to a sibling node with the given 'value'. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a9bb63fd7bb7a8b0beba5b11b7cd06dd8}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ {\bfseries next\-Sibling} (const char $\ast$next)}\label{classduye_1_1_xml_node_a9bb63fd7bb7a8b0beba5b11b7cd06dd8}

\item 
\hypertarget{classduye_1_1_xml_node_a1d1a52b0da581e54df634cae529ca10b}{const \hyperlink{classduye_1_1_xml_element}{Xml\-Element} $\ast$ \hyperlink{classduye_1_1_xml_node_a1d1a52b0da581e54df634cae529ca10b}{next\-Sibling\-Element} () const }\label{classduye_1_1_xml_node_a1d1a52b0da581e54df634cae529ca10b}

\begin{DoxyCompactList}\small\item\em Convenience function to get through elements. Calls Next\-Sibling and To\-Element. Will skip all non-\/\-Element nodes. Returns 0 if there is not another element. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_af2d52c664f13e5ea71bf2b00a693c738}{\hyperlink{classduye_1_1_xml_element}{Xml\-Element} $\ast$ {\bfseries next\-Sibling\-Element} ()}\label{classduye_1_1_xml_node_af2d52c664f13e5ea71bf2b00a693c738}

\item 
\hypertarget{classduye_1_1_xml_node_a96542b796f8a5754fb4fa517a09290d4}{const \hyperlink{classduye_1_1_xml_element}{Xml\-Element} $\ast$ \hyperlink{classduye_1_1_xml_node_a96542b796f8a5754fb4fa517a09290d4}{next\-Sibling\-Element} (const char $\ast$next) const }\label{classduye_1_1_xml_node_a96542b796f8a5754fb4fa517a09290d4}

\begin{DoxyCompactList}\small\item\em Convenience function to get through elements. Calls Next\-Sibling and To\-Element. Will skip all non-\/\-Element nodes. Returns 0 if there is not another element. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_afed4d23e10d61fe79dbd6ae4eea96a33}{\hyperlink{classduye_1_1_xml_element}{Xml\-Element} $\ast$ {\bfseries next\-Sibling\-Element} (const char $\ast$next)}\label{classduye_1_1_xml_node_afed4d23e10d61fe79dbd6ae4eea96a33}

\item 
\hypertarget{classduye_1_1_xml_node_a8cd600f0eec9cfd146a2f2dd85651f55}{const \hyperlink{classduye_1_1_xml_element}{Xml\-Element} $\ast$ \hyperlink{classduye_1_1_xml_node_a8cd600f0eec9cfd146a2f2dd85651f55}{next\-Sibling\-Element} (const std\-::string \&\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value}) const }\label{classduye_1_1_xml_node_a8cd600f0eec9cfd146a2f2dd85651f55}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a6fd6bda792944de4479c335aebed0067}{\hyperlink{classduye_1_1_xml_element}{Xml\-Element} $\ast$ \hyperlink{classduye_1_1_xml_node_a6fd6bda792944de4479c335aebed0067}{next\-Sibling\-Element} (const std\-::string \&\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value})}\label{classduye_1_1_xml_node_a6fd6bda792944de4479c335aebed0067}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_ab5c9a40066cadeabd618f748cfa6b87f}{const \hyperlink{classduye_1_1_xml_element}{Xml\-Element} $\ast$ \hyperlink{classduye_1_1_xml_node_ab5c9a40066cadeabd618f748cfa6b87f}{first\-Child\-Element} () const }\label{classduye_1_1_xml_node_ab5c9a40066cadeabd618f748cfa6b87f}

\begin{DoxyCompactList}\small\item\em Convenience function to get through elements. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a0527e91bc357c4caeedd1033b53e4989}{\hyperlink{classduye_1_1_xml_element}{Xml\-Element} $\ast$ {\bfseries first\-Child\-Element} ()}\label{classduye_1_1_xml_node_a0527e91bc357c4caeedd1033b53e4989}

\item 
\hypertarget{classduye_1_1_xml_node_a7a662e4b21e89f16e009fec1bec4295b}{const \hyperlink{classduye_1_1_xml_element}{Xml\-Element} $\ast$ \hyperlink{classduye_1_1_xml_node_a7a662e4b21e89f16e009fec1bec4295b}{first\-Child\-Element} (const char $\ast$\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value}) const }\label{classduye_1_1_xml_node_a7a662e4b21e89f16e009fec1bec4295b}

\begin{DoxyCompactList}\small\item\em Convenience function to get through elements. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_aa01050e6057af55aefed165edb769949}{\hyperlink{classduye_1_1_xml_element}{Xml\-Element} $\ast$ {\bfseries first\-Child\-Element} (const char $\ast$\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value})}\label{classduye_1_1_xml_node_aa01050e6057af55aefed165edb769949}

\item 
\hypertarget{classduye_1_1_xml_node_ac0c5a160496d2ced380fa26a34e80df7}{const \hyperlink{classduye_1_1_xml_element}{Xml\-Element} $\ast$ \hyperlink{classduye_1_1_xml_node_ac0c5a160496d2ced380fa26a34e80df7}{first\-Child\-Element} (const std\-::string \&\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value}) const }\label{classduye_1_1_xml_node_ac0c5a160496d2ced380fa26a34e80df7}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_ac6da6fe4b7b2186383843fd9cdfc94d1}{\hyperlink{classduye_1_1_xml_element}{Xml\-Element} $\ast$ \hyperlink{classduye_1_1_xml_node_ac6da6fe4b7b2186383843fd9cdfc94d1}{first\-Child\-Element} (const std\-::string \&\hyperlink{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{value})}\label{classduye_1_1_xml_node_ac6da6fe4b7b2186383843fd9cdfc94d1}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_aeb18c5fb04532bdad060b0d556b1b22e}{int \hyperlink{classduye_1_1_xml_node_aeb18c5fb04532bdad060b0d556b1b22e}{type} () const }\label{classduye_1_1_xml_node_aeb18c5fb04532bdad060b0d556b1b22e}

\begin{DoxyCompactList}\small\item\em Query the type (as an enumerated value, above) of this node. The possible types are\-: N\-Y\-X\-M\-L\-\_\-\-D\-O\-C\-U\-M\-E\-N\-T, N\-Y\-X\-M\-L\-\_\-\-E\-L\-E\-M\-E\-N\-T, N\-Y\-X\-M\-L\-\_\-\-C\-O\-M\-M\-E\-N\-T, N\-Y\-X\-M\-L\-\_\-\-U\-N\-K\-N\-O\-W\-N, N\-Y\-X\-M\-L\-\_\-\-T\-E\-X\-T, and N\-Y\-X\-M\-L\-\_\-\-D\-E\-C\-L\-A\-R\-A\-G\-O\-N. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a3d19b65924e36f58cc738109a48b4801}{const \hyperlink{classduye_1_1_xml_document}{Xml\-Document} $\ast$ \hyperlink{classduye_1_1_xml_node_a3d19b65924e36f58cc738109a48b4801}{get\-Document} () const }\label{classduye_1_1_xml_node_a3d19b65924e36f58cc738109a48b4801}

\begin{DoxyCompactList}\small\item\em Return a pointer to the Document this node lives in. Returns null if not in a document. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a8faf85623aeac9e09f37e6fbce654954}{\hyperlink{classduye_1_1_xml_document}{Xml\-Document} $\ast$ {\bfseries get\-Document} ()}\label{classduye_1_1_xml_node_a8faf85623aeac9e09f37e6fbce654954}

\item 
\hypertarget{classduye_1_1_xml_node_a10153610e12f360c492d6d4e2e0060ab}{bool \hyperlink{classduye_1_1_xml_node_a10153610e12f360c492d6d4e2e0060ab}{no\-Children} () const }\label{classduye_1_1_xml_node_a10153610e12f360c492d6d4e2e0060ab}

\begin{DoxyCompactList}\small\item\em Returns true if this node has no children. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a351b862789c964027ae4501c20c3d0ee}{virtual const \hyperlink{classduye_1_1_xml_document}{Xml\-Document} $\ast$ \hyperlink{classduye_1_1_xml_node_a351b862789c964027ae4501c20c3d0ee}{to\-Document} () const }\label{classduye_1_1_xml_node_a351b862789c964027ae4501c20c3d0ee}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null if not of the requested type. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_ad7c8f1487e11257b0e121b0d29d5f479}{virtual const \hyperlink{classduye_1_1_xml_element}{Xml\-Element} $\ast$ \hyperlink{classduye_1_1_xml_node_ad7c8f1487e11257b0e121b0d29d5f479}{to\-Element} () const }\label{classduye_1_1_xml_node_ad7c8f1487e11257b0e121b0d29d5f479}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null if not of the requested type. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a207950685bc2ee28aaa245a59150df81}{virtual const \hyperlink{classduye_1_1_xml_comment}{Xml\-Comment} $\ast$ \hyperlink{classduye_1_1_xml_node_a207950685bc2ee28aaa245a59150df81}{to\-Comment} () const }\label{classduye_1_1_xml_node_a207950685bc2ee28aaa245a59150df81}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null if not of the requested type. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a19e3ea30dacb192a913f4ddbb59c633b}{virtual const \hyperlink{classduye_1_1_xml_unknown}{Xml\-Unknown} $\ast$ \hyperlink{classduye_1_1_xml_node_a19e3ea30dacb192a913f4ddbb59c633b}{to\-Unknown} () const }\label{classduye_1_1_xml_node_a19e3ea30dacb192a913f4ddbb59c633b}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null if not of the requested type. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a2cea4f5e12dd637bd97ba66280f94cea}{virtual const \hyperlink{classduye_1_1_xml_text}{Xml\-Text} $\ast$ \hyperlink{classduye_1_1_xml_node_a2cea4f5e12dd637bd97ba66280f94cea}{to\-Text} () const }\label{classduye_1_1_xml_node_a2cea4f5e12dd637bd97ba66280f94cea}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null if not of the requested type. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a498986c606dc0984690d97a2df4755b4}{virtual const \hyperlink{classduye_1_1_xml_declaration}{Xml\-Declaration} $\ast$ \hyperlink{classduye_1_1_xml_node_a498986c606dc0984690d97a2df4755b4}{to\-Declaration} () const }\label{classduye_1_1_xml_node_a498986c606dc0984690d97a2df4755b4}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null if not of the requested type. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_aaa3c9910ed7673eeed9aeb3bd8115cc9}{virtual \hyperlink{classduye_1_1_xml_document}{Xml\-Document} $\ast$ \hyperlink{classduye_1_1_xml_node_aaa3c9910ed7673eeed9aeb3bd8115cc9}{to\-Document} ()}\label{classduye_1_1_xml_node_aaa3c9910ed7673eeed9aeb3bd8115cc9}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null if not of the requested type. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a1518563cd13462553debe43e7da7ef6f}{virtual \hyperlink{classduye_1_1_xml_element}{Xml\-Element} $\ast$ \hyperlink{classduye_1_1_xml_node_a1518563cd13462553debe43e7da7ef6f}{to\-Element} ()}\label{classduye_1_1_xml_node_a1518563cd13462553debe43e7da7ef6f}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null if not of the requested type. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a7e42383bc56d26615a2d7a20ab0da98e}{virtual \hyperlink{classduye_1_1_xml_comment}{Xml\-Comment} $\ast$ \hyperlink{classduye_1_1_xml_node_a7e42383bc56d26615a2d7a20ab0da98e}{to\-Comment} ()}\label{classduye_1_1_xml_node_a7e42383bc56d26615a2d7a20ab0da98e}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null if not of the requested type. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_ab90860bef4ce44b58ae62776a0bb58e4}{virtual \hyperlink{classduye_1_1_xml_unknown}{Xml\-Unknown} $\ast$ \hyperlink{classduye_1_1_xml_node_ab90860bef4ce44b58ae62776a0bb58e4}{to\-Unknown} ()}\label{classduye_1_1_xml_node_ab90860bef4ce44b58ae62776a0bb58e4}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null if not of the requested type. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_aee4cdf100c45326bcab0767d106efa7f}{virtual \hyperlink{classduye_1_1_xml_text}{Xml\-Text} $\ast$ \hyperlink{classduye_1_1_xml_node_aee4cdf100c45326bcab0767d106efa7f}{to\-Text} ()}\label{classduye_1_1_xml_node_aee4cdf100c45326bcab0767d106efa7f}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null if not of the requested type. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a278394b327cc6a7f6e80f3c4759dd575}{virtual \hyperlink{classduye_1_1_xml_declaration}{Xml\-Declaration} $\ast$ \hyperlink{classduye_1_1_xml_node_a278394b327cc6a7f6e80f3c4759dd575}{to\-Declaration} ()}\label{classduye_1_1_xml_node_a278394b327cc6a7f6e80f3c4759dd575}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null if not of the requested type. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a7b830664f747b5a758c49d4d14ecc787}{virtual \hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ \hyperlink{classduye_1_1_xml_node_a7b830664f747b5a758c49d4d14ecc787}{clone} () const =0}\label{classduye_1_1_xml_node_a7b830664f747b5a758c49d4d14ecc787}

\begin{DoxyCompactList}\small\item\em Create an exact duplicate of this node and return it. The memory must be deleted by the caller. \end{DoxyCompactList}\item 
virtual bool \hyperlink{classduye_1_1_xml_node_adcd11cb01e35ea4f9e11c3e451a132f3}{accept} (\hyperlink{classduye_1_1_xml_visitor}{Xml\-Visitor} $\ast$visitor) const =0
\begin{DoxyCompactList}\small\item\em Accept a hierchical visit the nodes in the Gny\-X\-M\-L D\-O\-M. Every node in the X\-M\-L tree will be conditionally visited and the host will be called back via the \hyperlink{classduye_1_1_xml_visitor}{Xml\-Visitor} interface. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classduye_1_1_xml_node_ae75756d04f9dac0b7733984cae35bf8f}{{\bfseries Xml\-Node} (\hyperlink{classduye_1_1_xml_node_ae4027c9a45dd41b1672ce04e9b141947}{Node\-Type} \hyperlink{classduye_1_1_xml_node_aeb18c5fb04532bdad060b0d556b1b22e}{type})}\label{classduye_1_1_xml_node_ae75756d04f9dac0b7733984cae35bf8f}

\item 
\hypertarget{classduye_1_1_xml_node_acfc09236d9b6c90f5d06c5890c4f0246}{void {\bfseries copy\-To} (\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$target) const }\label{classduye_1_1_xml_node_acfc09236d9b6c90f5d06c5890c4f0246}

\item 
\hypertarget{classduye_1_1_xml_node_adec42353fd40fc138f9817720e4560ab}{virtual void {\bfseries stream\-In} (std\-::istream $\ast$in, std\-::string $\ast$tag)=0}\label{classduye_1_1_xml_node_adec42353fd40fc138f9817720e4560ab}

\item 
\hypertarget{classduye_1_1_xml_node_a6d998744d4d432d82e1ddf90992ba643}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ {\bfseries identify} (const char $\ast$start, Xml\-Encoding encoding)}\label{classduye_1_1_xml_node_a6d998744d4d432d82e1ddf90992ba643}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classduye_1_1_xml_node_a0cd65d2aea46a4119e60e3774d44cea5}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ {\bfseries m\-\_\-parent}}\label{classduye_1_1_xml_node_a0cd65d2aea46a4119e60e3774d44cea5}

\item 
\hypertarget{classduye_1_1_xml_node_a3d5ec90b686ed2615ba8f9b3859d1005}{\hyperlink{classduye_1_1_xml_node_ae4027c9a45dd41b1672ce04e9b141947}{Node\-Type} {\bfseries m\-\_\-type}}\label{classduye_1_1_xml_node_a3d5ec90b686ed2615ba8f9b3859d1005}

\item 
\hypertarget{classduye_1_1_xml_node_a0db55b9652bc0db402ec605a50030073}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ {\bfseries m\-\_\-first\-Child}}\label{classduye_1_1_xml_node_a0db55b9652bc0db402ec605a50030073}

\item 
\hypertarget{classduye_1_1_xml_node_a9dee6a5778da939bd30625a960faad27}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ {\bfseries m\-\_\-last\-Child}}\label{classduye_1_1_xml_node_a9dee6a5778da939bd30625a960faad27}

\item 
\hypertarget{classduye_1_1_xml_node_a0bde58c847ace2034ed7d51a8d6e2c71}{std\-::string {\bfseries m\-\_\-value}}\label{classduye_1_1_xml_node_a0bde58c847ace2034ed7d51a8d6e2c71}

\item 
\hypertarget{classduye_1_1_xml_node_add0d07217f7b3c853c0492b223101f2c}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ {\bfseries m\-\_\-prev}}\label{classduye_1_1_xml_node_add0d07217f7b3c853c0492b223101f2c}

\item 
\hypertarget{classduye_1_1_xml_node_a26157b3d2c9b90e557924c9c9af4d5c2}{\hyperlink{classduye_1_1_xml_node}{Xml\-Node} $\ast$ {\bfseries m\-\_\-next}}\label{classduye_1_1_xml_node_a26157b3d2c9b90e557924c9c9af4d5c2}

\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classduye_1_1_xml_node_acb499a895285d52060e9d6f2d937d383}{class {\bfseries Xml\-Document}}\label{classduye_1_1_xml_node_acb499a895285d52060e9d6f2d937d383}

\item 
\hypertarget{classduye_1_1_xml_node_abedc393b34ee7d5d9558e7736cc0f032}{class {\bfseries Xml\-Element}}\label{classduye_1_1_xml_node_abedc393b34ee7d5d9558e7736cc0f032}

\item 
\hypertarget{classduye_1_1_xml_node_a8ffefc2f1c3d323322443668a6109ff1}{std\-::istream \& \hyperlink{classduye_1_1_xml_node_a8ffefc2f1c3d323322443668a6109ff1}{operator$>$$>$} (std\-::istream \&in, \hyperlink{classduye_1_1_xml_node}{Xml\-Node} \&base)}\label{classduye_1_1_xml_node_a8ffefc2f1c3d323322443668a6109ff1}

\begin{DoxyCompactList}\small\item\em An input stream operator, for every class. Tolerant of newlines and formatting, but doesn't expect them. \end{DoxyCompactList}\item 
std\-::ostream \& \hyperlink{classduye_1_1_xml_node_a01de8afa8b807269c8d58d7f045a0bbb}{operator$<$$<$} (std\-::ostream \&out, const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} \&base)
\begin{DoxyCompactList}\small\item\em An output stream operator, for every class. Note that this outputs without any newlines or formatting, as opposed to Print(), which includes tabs and new lines. \end{DoxyCompactList}\item 
\hypertarget{classduye_1_1_xml_node_a68159a7f5c6b7dbab9971b5c266144f4}{std\-::string \& \hyperlink{classduye_1_1_xml_node_a68159a7f5c6b7dbab9971b5c266144f4}{operator$<$$<$} (std\-::string \&out, const \hyperlink{classduye_1_1_xml_node}{Xml\-Node} \&base)}\label{classduye_1_1_xml_node_a68159a7f5c6b7dbab9971b5c266144f4}

\begin{DoxyCompactList}\small\item\em Appends the X\-M\-L node or attribute to a std\-::string. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
The parent class for everything in the Document Object Model. (Except for attributes). Nodes have siblings, a parent, and children. A node can be in a document, or stand on its own. The type of a \hyperlink{classduye_1_1_xml_node}{Xml\-Node} can be queried, and it can be cast to its more defined type. 

\subsection{Member Function Documentation}
\hypertarget{classduye_1_1_xml_node_adcd11cb01e35ea4f9e11c3e451a132f3}{\index{duye\-::\-Xml\-Node@{duye\-::\-Xml\-Node}!accept@{accept}}
\index{accept@{accept}!duye::XmlNode@{duye\-::\-Xml\-Node}}
\subsubsection[{accept}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool duye\-::\-Xml\-Node\-::accept (
\begin{DoxyParamCaption}
\item[{{\bf Xml\-Visitor} $\ast$}]{visitor}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classduye_1_1_xml_node_adcd11cb01e35ea4f9e11c3e451a132f3}


Accept a hierchical visit the nodes in the Gny\-X\-M\-L D\-O\-M. Every node in the X\-M\-L tree will be conditionally visited and the host will be called back via the \hyperlink{classduye_1_1_xml_visitor}{Xml\-Visitor} interface. 

This is essentially a S\-A\-X interface for Gny\-X\-M\-L. (Note however it doesn't re-\/parse the X\-M\-L for the callbacks, so the performance of Gny\-X\-M\-L is unchanged by using this interface versus any other.)

The interface has been based on ideas from\-:


\begin{DoxyItemize}
\item \href{http://www.saxproject.org/}{\tt http\-://www.\-saxproject.\-org/}
\item \href{http://c2.com/cgi/wiki?HierarchicalVisitorPattern}{\tt http\-://c2.\-com/cgi/wiki?\-Hierarchical\-Visitor\-Pattern}
\end{DoxyItemize}

Which are both good references for \char`\"{}visiting\char`\"{}.

An example of using Accept()\-: \begin{DoxyVerb}* GXmlPrinter printer;\
* tinyxmlDoc.Accept( &printer );
* const char* xmlcstr = printer.CStr();
* \end{DoxyVerb}
 

Implemented in \hyperlink{classduye_1_1_xml_document_a6362b1d0f171301a19d36e7fc541f85c}{duye\-::\-Xml\-Document}, \hyperlink{classduye_1_1_xml_unknown_aae01cd65796aef280f001785cfefaae5}{duye\-::\-Xml\-Unknown}, \hyperlink{classduye_1_1_xml_declaration_ac5a1661738cab9369fb00b0ab040e981}{duye\-::\-Xml\-Declaration}, \hyperlink{classduye_1_1_xml_text_aefdfa21fac73a0bb9fd8620c6c68de6b}{duye\-::\-Xml\-Text}, \hyperlink{classduye_1_1_xml_comment_a04170aa1a4f2467b8038f7d58acccfe8}{duye\-::\-Xml\-Comment}, and \hyperlink{classduye_1_1_xml_element_ac383656d5d467642783681a4401a5ecb}{duye\-::\-Xml\-Element}.

\hypertarget{classduye_1_1_xml_node_adce4411879a479aec3b0479d7c46edac}{\index{duye\-::\-Xml\-Node@{duye\-::\-Xml\-Node}!first\-Child@{first\-Child}}
\index{first\-Child@{first\-Child}!duye::XmlNode@{duye\-::\-Xml\-Node}}
\subsubsection[{first\-Child}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Xml\-Node}$\ast$ duye\-::\-Xml\-Node\-::first\-Child (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{value}
\end{DoxyParamCaption}
) const}}\label{classduye_1_1_xml_node_adce4411879a479aec3b0479d7c46edac}
The first child of this node with the matching 'value'. Will be null if none found. \hypertarget{classduye_1_1_xml_node_a9210bb8d53337ae049942007860d07d3}{\index{duye\-::\-Xml\-Node@{duye\-::\-Xml\-Node}!iterate\-Children@{iterate\-Children}}
\index{iterate\-Children@{iterate\-Children}!duye::XmlNode@{duye\-::\-Xml\-Node}}
\subsubsection[{iterate\-Children}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Xml\-Node}$\ast$ duye\-::\-Xml\-Node\-::iterate\-Children (
\begin{DoxyParamCaption}
\item[{const {\bf Xml\-Node} $\ast$}]{previous}
\end{DoxyParamCaption}
) const}}\label{classduye_1_1_xml_node_a9210bb8d53337ae049942007860d07d3}


An alternate way to walk the children of a node. One way to iterate over nodes is\-: 

\begin{DoxyVerb}* for( child = parent->FirstChild(); child; child = child->NextSibling() )
* \end{DoxyVerb}


Iterate\-Children does the same thing with the syntax\-: \begin{DoxyVerb}* child = 0;
* while( child = parent->IterateChildren( child ) )
* \end{DoxyVerb}


Iterate\-Children takes the previous child as input and finds the next one. If the previous child is null, it returns the first. Iterate\-Children will return null when done. \hypertarget{classduye_1_1_xml_node_a8e29358127db6027288425730b195543}{\index{duye\-::\-Xml\-Node@{duye\-::\-Xml\-Node}!link\-End\-Child@{link\-End\-Child}}
\index{link\-End\-Child@{link\-End\-Child}!duye::XmlNode@{duye\-::\-Xml\-Node}}
\subsubsection[{link\-End\-Child}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Xml\-Node}$\ast$ duye\-::\-Xml\-Node\-::link\-End\-Child (
\begin{DoxyParamCaption}
\item[{{\bf Xml\-Node} $\ast$}]{add\-This}
\end{DoxyParamCaption}
)}}\label{classduye_1_1_xml_node_a8e29358127db6027288425730b195543}


Add a new node related to this. Adds a child past the Last\-Child. 

N\-O\-T\-E\-: the node to be added is passed by pointer, and will be henceforth owned (and deleted) by tiny\-Xml. This method is efficient and avoids an extra copy, but should be used with care as it uses a different memory model than the other insert functions.

\begin{DoxySeeAlso}{See Also}
Insert\-End\-Child 
\end{DoxySeeAlso}
\hypertarget{classduye_1_1_xml_node_a0bb13ec0183c9e10df92e0cd66d3a4db}{\index{duye\-::\-Xml\-Node@{duye\-::\-Xml\-Node}!set\-Value@{set\-Value}}
\index{set\-Value@{set\-Value}!duye::XmlNode@{duye\-::\-Xml\-Node}}
\subsubsection[{set\-Value}]{\setlength{\rightskip}{0pt plus 5cm}void duye\-::\-Xml\-Node\-::set\-Value (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{value}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classduye_1_1_xml_node_a0bb13ec0183c9e10df92e0cd66d3a4db}


Changes the value of the node. Defined as\-: 

\begin{DoxyVerb}* Document: filename of the xml file
* Element:  name of the element
* Comment:  the comment text
* Unknown:  the tag contents
* Text:     the text string
* \end{DoxyVerb}
 \hypertarget{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}{\index{duye\-::\-Xml\-Node@{duye\-::\-Xml\-Node}!value@{value}}
\index{value@{value}!duye::XmlNode@{duye\-::\-Xml\-Node}}
\subsubsection[{value}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ duye\-::\-Xml\-Node\-::value (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classduye_1_1_xml_node_a6382aca61aaacf168916b9a8d917dc47}


The meaning of 'value' changes for the specific type of \hyperlink{classduye_1_1_xml_node}{Xml\-Node}. 

\begin{DoxyVerb}* Document: filename of the xml file
* Element:  name of the element
* Comment:  the comment text
* Unknown:  the tag contents
* Text: the text string
* \end{DoxyVerb}


The subclasses will wrap this function. 

\subsection{Friends And Related Function Documentation}
\hypertarget{classduye_1_1_xml_node_a01de8afa8b807269c8d58d7f045a0bbb}{\index{duye\-::\-Xml\-Node@{duye\-::\-Xml\-Node}!operator$<$$<$@{operator$<$$<$}}
\index{operator$<$$<$@{operator$<$$<$}!duye::XmlNode@{duye\-::\-Xml\-Node}}
\subsubsection[{operator$<$$<$}]{\setlength{\rightskip}{0pt plus 5cm}std\-::ostream\& operator$<$$<$ (
\begin{DoxyParamCaption}
\item[{std\-::ostream \&}]{out, }
\item[{const {\bf Xml\-Node} \&}]{base}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [friend]}}}\label{classduye_1_1_xml_node_a01de8afa8b807269c8d58d7f045a0bbb}


An output stream operator, for every class. Note that this outputs without any newlines or formatting, as opposed to Print(), which includes tabs and new lines. 

The operator$<$$<$ and operator$>$$>$ are not completely symmetric. Writing a node to a stream is very well defined. You'll get a nice stream of output, without any extra whitespace or newlines.

But reading is not as well defined. (As it always is.) If you create a G\-Xml\-Element (for example) and read that from an input stream, the text needs to define an element or junk will result. This is true of all input streams, but it's worth keeping in mind.

A G\-Xml\-Document will read nodes until it reads a root element, and all the children of that root element. 

The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
Z\-:/duye/src/duyebase/utils/duye\-\_\-xml.\-h\end{DoxyCompactItemize}
